1. Field of the Invention
The present invention relates to data transmission ports of a computerized system and more particularly in re-configurable data transmission ports with data-integrity transaction controlling unit and method for performing the same for data integrity support.
2. Description of the Prior Art
As known, recently a re-configurable transmission port technology is being widely utilized in input/output ports of a computerized system, which are respectively connected with I/O buses, e.g. a PCI Express. Conception of such re-configurable transmission port means that a data transmission port is capable of being reconfigured into either a “split” status as illustrated in FIG. 1 or a “merge” status as illustrated in FIG. 2, by way of implementation of a presetting software or a auto-detection for different bandwidth requirements.
Referring to FIG. 1A, a plurality of first and second ports 10, 14 in a computerized system respectively implement data transaction with each other via a physical layer (PHY) 12 and a transmission line 13. As soon as each of the first ports 10 are configured on the “split” status (“x 1” means “one port” and “x N” means “N ports”), the plurality of first ports 10 are divided into “N” first ports each with lower individual bandwidth respectively connected to N second port. Oppositely referring to FIG. 1B, as soon as some/all of the first ports 10, e.g. first ports 1˜N are configured on the “merge” status, one of the first ports 10, e.g. first port 1, is merged with multi-bandwidths of the other first ports 10, e.g. first ports 2˜N, and controls transmission lines and PHY 12 of the other first ports 10. The merged bandwidth of the first port 1 shown in FIG. 1B is higher than individual bandwidth of each first port 1˜N configured on split status shown in FIG. 1A and therefore capable of transmitting more data. Each of the first ports can be reconfigured with variance of bandwidth upon different data transmission requirement. This functions with more flexibility on usage of each PHY 12 and fixed transmission line 13 on data transaction.
Further referring to FIG. 2, data transaction between each pair of first and second ports 10, 14 are presented. Meanwhile, each of the first ports 10 has a protocol circuit 100 and a retry buffer (RB) 110 individually owned by itself, and the protocol circuit is used to control the retry buffer 110, PHY 12 and transmission line 13. On “merge” configuration status as shown in FIG. 1B, the protocol circuit 100 of a first port 10 as first port 1 with merged bandwidths can further control the physical layers (PHY) 12 and transmission lines 13 of the other first ports 2˜N but therefore the protocol circuit 100 and retry buffer 110 of each of said other first ports 2˜N would be disused.
For data-integrity support on data transaction, the protocol circuit 100 of each first port 10 needs to back a data up in the retry buffer 110 (see a numeral P104) upon data transmission P102 from the first port 10 to a corresponding second port 14. As son as the protocol circuit 100 of the first port 10 receives a non-acknowledge (NAK) message or nothing generated from the corresponding second port 14 with regard to said data within a specific period (see a numeral P138), the protocol circuit 100 orders the retry buffer 110 to resend the data from the retry buffer 110 to the second port 14 (see a numeral P106). Until the second port 14 exactly receives the data in integrity and correspondingly send back a acknowledge (ACK) message, the protocol circuit 100 orders the retry buffer 100 to clean said data thereon. However, as long as the retry buffer 100 is full of data, the first port 10 would pause to transmit data. Sometimes the data communication is well and steady but a retry buffer with lower volume still may cause throttling of data transmission.
As known, sufficient volume of a retry buffer has a direct ration with respect to either bandwidth of a data transmission port or a response time of ACK. While required bandwidth is increased, a solution of either enlarging retry buffer volume or shortening a response time of ACK is usually adopted to avoid throttling. However, shortening of response time of ACK still has a limitation. Even though a corresponding second port exactly receives the data and sends an ACK back right away, it still needs to spend fixed time to implement internal data process and external data transmission. And, more ACK messages will occupy more bandwidths in the first port. Since a response time of ACK is decided by the second port, the storing volume of retry buffer still needs to be increased upon multiple increase of the bandwidths of the first port. Therefore, a first port 30 shown in FIG. 3A utilizes an enlarged retry buffer 312 instead of a common retry buffer 310 with smaller volume used in the other first ports 30. On “merge” configuration status, the volume of the enlarged retry buffer 312 is enough to comply with requirement of a merged multi-bandwidth as shown in FIG. 3B. However, the enlarged retry buffer 312 of the first port 30 that returns to the “split” configuration status shown in FIG. 3A would be useless and waste hardware cost.